home *** CD-ROM | disk | FTP | other *** search
/ Day Cry / Day Cry CD.bin / oh_towns / install / instgafl.c < prev    next >
Text File  |  1994-09-20  |  8KB  |  231 lines

  1. /*************************************************************************
  2. *    [Gafil]âCâôâXâgü[âïÅêù¥
  3. *************************************************************************/
  4.  
  5. int        install_gafil()
  6. {
  7.     int                ret, drv, fcopy_att, flag387, arcflag, srcdrv, item_setup;
  8.     char           *softname;
  9.     char           *helpfn;
  10.     char           *srcdir;
  11.     char           *arcfn, *arcdir;
  12.     char            instdir[256], *instfile;
  13.     char           *item_prog, *item_ttl, item_para[128];
  14.     int                item_att;
  15.     char           *dlgTxm;
  16.     char           *lhalib;
  17.     char            tmp[256], tmp2[256];
  18.  
  19.     instdir[0] = '\0';
  20.     softname   = "ëµæ£╠¿┘└ & ëµæ£╠¿┘└╪▌╕▐┬░┘╖»─ Gafil";
  21.     srcdir     = "/OH_TOWNS/TOUKOU/GAFIL";
  22.     arcfn      = "src.lzh";
  23.     arcdir     = "SRC";
  24.     instfile   = "*.*";
  25.     helpfn     = "/OH_TOWNS/TOUKOU/GAFIL/GAFIL.GGG";
  26.     item_att   = 2;
  27.  
  28.     srcdrv = toupper(DirStart[0]) - 'A';
  29.  
  30.  
  31. _TOP:
  32.     syl_putf("%s",softname);
  33.     dlgTxm = DlgTxm_open(ColBoxNormal);
  34.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  35.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  36.         "%s é≡âCâôâXâgü[âïé╡é▄é╖üB", softname );
  37.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
  38.  
  39.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r'  , KA_EXEC  ,
  40.         1, "", 0, "▓▌╜─░┘ : [Ä└ìs]");
  41.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'H'   , KA_H     ,
  42.         2, "inst_help", helpfn, "Éαû╛ : [H]");
  43.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 120, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
  44.         3, "", NULL, "ĵÅ┴ : [ĵÅ┴]");
  45.  
  46.     DlgTxm_setSize(dlgTxm,480,40);
  47.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  48.     do
  49.     {
  50.         ret = DlgTxm_start(dlgTxm);
  51.     } while ( ret == 2 );
  52.     DlgTxm_close(dlgTxm);
  53.     if ( ret != 1 )
  54.         goto _RET;
  55.  
  56.     /* âCâôâXâgü[âï        ------------------------------------------------*/
  57.     /* âCâôâXâgü[âïâvâìâOâëâÇæIæ≡    ------------------------------------*/
  58.     dlgTxm = DlgTxm_open(ColBoxNormal);
  59.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  60.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  61.         "éáé╚é╜é╠TOWNS é╔é═ÉöÆlëëÄZâvâìâZâbâTé▄é╜é═ODP é¬òtéóé─éóé▄é╖é⌐üH" );
  62.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER, "");
  63. #if    0
  64.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT,
  65.         "ü@é╖é╫é─é╠TOWNS é┼ô«é⌐é╡é╜éóÅΩìçé═üuòtéóé─éóé╚éóüvé≡ÄwÆΦé╡é─é¡é╛é│éóüB" );
  66.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_LEFT,
  67.         "ü@387 éΓ486DXé¬òtéóé─éóéΘâ}âVâôé┼é═üuòtéóé─éóéΘüvé¬ÄwÆΦé┼é½é▄é╖üB" );
  68. #endif
  69.  
  70.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'Y'   , KA_Y     ,
  71.         1, "", 0, "òtéóé─éóéΘ : [Y]");
  72.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'N'   , KA_N     ,
  73.         2, "", 0, "òtéóé─éóé╚éó : [N]");
  74.  
  75.     DlgTxm_setSize(dlgTxm,480,40);
  76.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  77.     do
  78.     {
  79.         ret = DlgTxm_start(dlgTxm);
  80.     } while ( ret != 1 && ret != 2 );
  81.     DlgTxm_close(dlgTxm);
  82.     flag387 = (ret == 1 ? 1 : 0);
  83.  
  84.     /* â\ü[âXôWèJèmöF    ------------------------------------------------*/
  85.     dlgTxm = DlgTxm_open(ColBoxNormal);
  86.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  87.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  88.         "â\ü[âXâvâìâOâëâÇéαâCâôâXâgü[âïé╡é▄é╖é⌐üH" );
  89.  
  90.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'S'   , KA_S     ,
  91.         1, "", 0, "┐░╜é≡▓▌╜─░┘é╖éΘ : [S]");
  92.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 160, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\x1B', KA_CANCEL,
  93.         0, "", 0, "▓▌╜─░┘é╡é╚éó : [ĵÅ┴]");
  94.  
  95.     DlgTxm_setSize(dlgTxm,480,40);
  96.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  97.     ret = DlgTxm_start(dlgTxm);
  98.     DlgTxm_close(dlgTxm);
  99.     arcflag = (ret == 1) ? 1 : 0;
  100.  
  101.     /* âCâôâXâgü[âïɵÄwÆΦ    --------------------------------------------*/
  102.     ret = APL_setInstallDir(instdir,"%s : âCâôâXâgü[âïɵÄwÆΦ", softname);
  103.     if ( ret )
  104.         goto _TOP;
  105.  
  106.     dlgTxm = DlgTxm_open(ColBoxNormal);
  107.     DlgTxm_setTitle(dlgTxm,Fnt16x16,softname);
  108.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  109.         "%s", instdir );
  110.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  111.         "é▒é╠âfâBâîâNâgâèé╔âCâôâXâgü[âïé╡é─éαéóéóé┼é╖é⌐üH" );
  112.     DlgTxm_putf( dlgTxm, Fnt16x12, TXMDAT_ATT_CENTER,"");
  113.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  114.         "▓▌╜─░┘1 üc âtâ@âCâïé≡òíÄ╩é╡é─TownsMENU é╔âAâCâeâÇôoÿ^");
  115.     DlgTxm_putf( dlgTxm, Fnt16x16, TXMDAT_ATT_CENTER,
  116.         "▓▌╜─░┘2 üc âtâ@âCâïé≡òíÄ╩üiâAâCâeâÇôoÿ^é═é╡é╚éóüj    ");
  117.  
  118.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, '\r'  , KA_EXEC  , 1, "", 0, "▓▌╜─░┘1 : [Ä└ìs]");
  119.     DlgTxm_setBtn( dlgTxm, Fnt16x16, 144, 20, C_MBLACK, C_WHITE, C_HILIGHT, C_DARK, 'C'   , KA_C     , 2, "", 0, "▓▌╜─░┘2 : [C]");
  120.  
  121.     DlgTxm_setSize(dlgTxm,320,40);
  122.     DlgTxm_setPosition(dlgTxm,DLGPOS_CENTER_OF_SCREEN);
  123.     ret = DlgTxm_start(dlgTxm);
  124.     DlgTxm_close(dlgTxm);
  125.     if ( ret != 1 && ret != 2 )
  126.         goto _TOP;
  127.     item_setup = (ret == 1 ? 1 : 0);
  128.  
  129.     /* âCâôâXâgü[âïèJÄn    ------------------------------------------------*/
  130.     syl_putf("INSTALL START");
  131.     FS_chdrv(srcdrv);
  132.     FS_getFullPn(tmp,srcdir);
  133.     fcopy_att = FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
  134.     if ( flag387 )
  135.         instfile = "gafil387.* *.doc";
  136.     else
  137.         instfile = "gafil386.* *.doc";
  138.     ret = FCOPY_exec(fcopy_att, tmp, instfile, instdir);
  139.  
  140.     if ( ret == NORMAL )
  141.     {
  142.         FS_chdrv(srcdrv);
  143.         strcpy(tmp2,srcdir);    add_path_fn(tmp2,"TESTSCR");
  144.         FS_getFullPn(tmp,tmp2);
  145.         fcopy_att = FCOPY_ATT_TIMESTAMP | FCOPY_ATT_CHK_OVERWRITE;
  146.         ret = FCOPY_exec(fcopy_att, tmp, "*.gsc", instdir);
  147.     }
  148.  
  149.     /* Åæî╔ôWèJ    --------------------------------------------------------*/
  150.     if ( arcflag )
  151.     {
  152.         FS_chdrv(srcdrv);
  153.         strcpy(tmp2,srcdir);    add_path_fn(tmp2,"INC");
  154.         FS_getFullPn(tmp,tmp2);
  155.         strcpy(tmp2,instdir);    add_path_fn(tmp2,"INC");
  156.         fcopy_att = FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
  157.         ret = FCOPY_exec(fcopy_att, tmp, "*.h", tmp2);
  158.  
  159.         if ( ret != NORMAL )
  160.             goto _EXTSKIP;
  161.         FS_chdrv(srcdrv);
  162.         strcpy(tmp2,srcdir);    add_path_fn(tmp2,"LIB386");
  163.         FS_getFullPn(tmp,tmp2);
  164.         strcpy(tmp2,instdir);    add_path_fn(tmp2,"LIB386");
  165.         fcopy_att = FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
  166.         ret = FCOPY_exec(fcopy_att, tmp, "*.lib", tmp2);
  167.  
  168.         if ( ret != NORMAL )
  169.             goto _EXTSKIP;
  170.         FS_chdrv(srcdrv);
  171.         strcpy(tmp2,srcdir);    add_path_fn(tmp2,"LIB387");
  172.         FS_getFullPn(tmp,tmp2);
  173.         strcpy(tmp2,instdir);    add_path_fn(tmp2,"LIB387");
  174.         fcopy_att = FCOPY_ATT_CHK_OVERWRITE | FCOPY_ATT_NOENDMSG;
  175.         ret = FCOPY_exec(fcopy_att, tmp, "*.lib", tmp2);
  176.  
  177.         syl_putf("ARC(.LZH) FILE EXTRACT");
  178.         FS_chdrv(srcdrv);
  179.         strcpy(tmp,srcdir);
  180.         add_path_fn(tmp,arcfn);
  181.  
  182.         strcpy(tmp2,instdir);
  183.         if ( arcdir[0] )
  184.             add_path_fn(tmp2,arcdir);
  185.         if ( (lhalib = LHA_openArc(tmp)) != NULL )
  186.         {
  187.             ret = LHA_extractAll(lhalib,tmp2);
  188.             LHA_closeArc(lhalib);
  189.         } else
  190.         {
  191.             syl_putf("ARC OPEN ERROR");
  192.             ret = ERR;
  193.         }
  194.     }
  195. _EXTSKIP:
  196.  
  197.     /* âAâCâeâÇôoÿ^    ----------------------------------------------------*/
  198.     if ( ret == NORMAL && item_setup != 0 )
  199.     {
  200.         syl_putf("ITEM SETUP");
  201.         drv = toupper(instdir[0]) - 'A';
  202.         strcpy(item_para,"");
  203.         if ( flag387 )
  204.         {
  205.             strcpy(tmp,instdir);
  206.             add_path_fn(tmp,"GAFIL387.EXP");
  207.             item_setApl( drv, 1024, "GAFIL", tmp, item_para, item_att );
  208.  
  209.             strcpy(tmp,instdir);
  210.             add_path_fn(tmp,"GAFIL387.EXG");
  211.             item_setApl( drv, 1024, "GAFIL/SHELL", tmp, item_para, item_att );
  212.         } else
  213.         {
  214.             strcpy(tmp,instdir);
  215.             add_path_fn(tmp,"GAFIL386.EXP");
  216.             item_setApl( drv, 1024, "GAFIL", tmp, item_para, item_att );
  217.  
  218.             strcpy(tmp,instdir);
  219.             add_path_fn(tmp,"GAFIL386.EXG");
  220.             item_setApl( drv, 1024, "GAFIL/SHELL", tmp, item_para, item_att );
  221.         }
  222.     }
  223.  
  224.     /* âCâôâXâgü[âïÅIù╣    ------------------------------------------------*/
  225.     install_end( softname, ret );
  226.  
  227. _RET:
  228.     syl_clear();
  229.     return (0);
  230. }
  231.